Хром 137

Стабильная дата выпуска: 27 мая 2025 г.

Если не указано иное, следующие изменения применяются к стабильной версии Chrome 137 для Android, ChromeOS, Linux, macOS и Windows.

CSS и пользовательский интерфейс

Функция CSS if()

Функция CSS if() обеспечивает лаконичный способ выражения условных значений. Она принимает ряд пар условие-значение, разделенных точкой с запятой. Функция последовательно оценивает каждое условие и возвращает значение, связанное с первым истинным условием. Если ни одно из условий не оценивается как истинное, функция возвращает пустой поток токенов. Это позволяет вам выражать сложную условную логику простым и лаконичным способом.

Пример:

div {
  color: var(--color);
  background-color: if(style(--color: white): black; else: white);
}

.dark {
  --color: black;
}

.light {
  --color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>

Ошибка отслеживания #346977961 | Запись ChromeStatus.com | Спецификация

CSS свойства reading-flow , reading-order

Свойство CSS reading-flow управляет порядком, в котором элементы в гибкой, сетчатой ​​или блочной компоновке отображаются для инструментов специальных возможностей и фокусируются с помощью навигации по фокусу с помощью клавиатуры Tab.

Свойство CSS reading-order позволяет авторам вручную переопределять порядок в контейнере потока чтения. Это целое число со значением по умолчанию 0 .

Узнайте больше об этих свойствах в статье Использование CSS reading-flow для логической последовательной навигации по фокусу и опробуйте несколько примеров .

Ошибка отслеживания #40932006 | Запись ChromeStatus.com | Спецификация

Игнорировать межбуквенные интервалы в курсивных шрифтах

Эта функция добавляет логику для игнорирования настройки межбуквенного интервала для курсивных шрифтов, указанной разработчиком в соответствии со спецификацией, чтобы гарантировать, что межбуквенный интервал не нарушает структуру слова, и направлена ​​на создание лучшего пользовательского опыта для пользователей, использующих курсивные шрифты.

Благодаря этой функции Chrome гарантирует, что курсивные тексты будут читабельными и будут иметь правильные интервалы, даже если шрифты не обладают расширенными типографскими функциями.

В Chromium это применимо к следующим видам письма: арабскому, ханифи-рохинджа, мандейскому, монгольскому, нко, фагс-па и сирийскому, поскольку эти виды письма считаются курсивными согласно спецификации.

Ошибка отслеживания #40618336 | Запись ChromeStatus.com | Спецификация

API выбора getComposedRanges и direction

Эта функция добавляет два новых метода API для API выбора:

  • Selection.direction , который возвращает направление выделения: none , forward или backward
  • Selection.getComposedRanges() , который возвращает список из 0 или 1 составленного StaticRange

Составной StaticRange разрешено пересекать границы тени, чего не может сделать обычный Range .

Например:

const range = getSelection().getComposedRanges({ shadowRoots: [root] });

Если выбор пересекает границу теневого корня, которая не указана в списке shadowRoots , то конечные точки StaticRange будут перераспределены так, чтобы оказаться за пределами этого дерева. Это гарантирует, что Chrome не выставит неизвестные теневые деревья.

Ошибка отслеживания #40286116 | Запись ChromeStatus.com | Спецификация

Поддержка offset-path: shape()

Поддержка offset-path: shape() , позволяющая использовать адаптивные фигуры для задания пути анимации.

Ошибка отслеживания #389713717 | Запись ChromeStatus.com | Спецификация

Поддержка атрибута transform в SVGSVGElement

Эта функция позволяет применять свойства преобразования, такие как масштабирование, вращение, перемещение и наклон, непосредственно к корневому элементу <svg> с помощью его атрибута transform . Это улучшение позволяет вам манипулировать всей системой координат SVG или ее содержимым в целом, обеспечивая большую гибкость при создании динамической, адаптивной и интерактивной векторной графики. Поддерживая этот атрибут, элемент <svg> может быть преобразован без необходимости использования дополнительных элементов-оболочек или сложных обходных путей CSS, что упрощает процесс создания масштабируемой и анимированной веб-графики.

Ошибка отслеживания #40313130 ​​| Запись ChromeStatus.com | Спецификация

Системный акцентный цвет для свойства accent-color

Это позволяет использовать акцентный цвет операционной системы для элементов формы. Используя свойство CSS accent-color , вы можете гарантировать, что элементы формы, такие как флажки, переключатели и индикаторы выполнения, автоматически примут акцентный цвет, определенный операционной системой пользователя. Это поддерживается в macOS с 2021 года, а теперь поддерживается в Windows и ChromeOS.

Ошибка отслеживания #40764875 | Запись ChromeStatus.com | Спецификация

Разрешить <use> ссылаться на корневой элемент внешнего документа, опустив фрагмент.

Эта функция оптимизирует элемент SVG <use> , ослабляя требования к ссылкам. До Chrome 137 приходилось явно ссылаться на фрагменты в документе SVG. Если идентификатор фрагмента не указан, <use> не сможет разрешить цель, и ничего не будет отображено или сослано.

Например: элемент <use> , ссылающийся на внешний файл с идентификатором фрагмента:

<svg>
  <use xlink:href="myshape.svg#icon"></use>
</svg>

В этом примере #icon — это идентификатор фрагмента, указывающий на элемент с id="icon" в myshape.svg .

Без идентификатора фрагмента:

<svg>
  <use xlink:href="myshape.svg"></use>
</svg>

С этой функцией, пропуск фрагментов или просто указание внешнего имени файла svg автоматически ссылается на корневой элемент, устраняя необходимость изменять ссылочный документ только для того, чтобы назначить идентификатор корню. Это улучшение упрощает этот процесс ручного редактирования и повышает эффективность.

Ошибка отслеживания #40362369 | Запись ChromeStatus.com | Спецификация

Типы цветов с плавающей точкой на холсте

Предоставляет возможность использовать форматы пикселей с плавающей точкой (в отличие от 8-битной фиксированной точки) с CanvasRenderingContext2D , OffscreenCanvasRenderingContext2D и ImageData .

Это необходимо для высокоточных приложений (например, медицинской визуализации), контента с высоким динамическим диапазоном и линейных рабочих цветовых пространств.

Ошибка отслеживания #40245602 | Запись ChromeStatus.com | Спецификация

view-transition-name: match-element

Значение match-element генерирует уникальный идентификатор на основе идентификатора элемента и переименовывает его для этого элемента. Это используется в случаях Single Page App, когда элемент перемещается, и вы хотите анимировать его с помощью перехода вида.

Ошибка отслеживания #365997248 | Запись ChromeStatus.com | Спецификация

Платежи

Тип ошибки выравнивания, возникающей при создании учетных данных payment WebAuthn: SecurityError становится NotAllowedError

Исправьте тип ошибки, выдаваемой при создании учетных данных WebAuthn для payment учетных данных. Из-за исторического несоответствия спецификаций создание payment учетных данных в кросс-источниковом iframe без активации пользователя приведет к возникновению SecurityError вместо NotAllowedError , которая возникает при неплатежных учетных данных.

Это критическое изменение, хотя и узкоспециализированное. Код, который ранее обнаруживал тип выдаваемой ошибки (например, e instanceof SecurityError ), затронут. Код, который просто в целом обрабатывает ошибки во время создания учетных данных (например, catch (e) ), продолжит работать правильно.

Отслеживание ошибки #41484826 | Запись ChromeStatus.com | Спецификация

Веб-API

Разделение URL-адресов BLOB-объектов: Извлечение/Навигация

В продолжение Storage Partitioning Chrome реализовал разделение доступа к URL-адресам Blob по Storage Key (сайт верхнего уровня, источник фрейма и логическое значение has-cross-site-ancestor), за исключением навигаций верхнего уровня, которые останутся разделенными только по источнику фрейма. Это поведение похоже на то, что в настоящее время реализовано как в Firefox, так и в Safari, и согласует использование URL-адресов Blob со схемой разделения, используемой другими API-интерфейсами хранения в рамках Storage Partitioning. Кроме того, Chrome теперь применяет noopener к навигациям верхнего уровня, инициированным рендерером, к URL-адресам Blob, где соответствующий сайт является межсайтовым по отношению к сайту верхнего уровня, выполняющему навигацию. Это согласует Chrome с аналогичным поведением в Safari, и соответствующие спецификации были обновлены, чтобы отразить эти изменения.

Ошибка отслеживания #40057646 | Запись ChromeStatus.com

Стеки вызовов в отчетах о сбоях с неотвечающих веб-страниц

Эта функция захватывает стек вызовов JavaScript, когда веб-страница перестает отвечать из-за кода JavaScript, выполняющего бесконечный цикл или другие очень длинные вычисления. Это помогает разработчикам определить причину неотзывчивости и легче ее исправить. Стек вызовов JavaScript включается в API отчетов о сбоях, когда причина заключается в неотзывчивости.

Отслеживание ошибки #1445539 | Запись ChromeStatus.com | Спецификация

Document-Isolation-Policy

Document-Isolation-Policy позволяет документу включить crossOriginIsolation для себя, без необходимости развертывания COOP или COEP, и независимо от статуса crossOriginIsolation страницы. Политика поддерживается изоляцией процесса. Кроме того, подресурсы документа non-CORS cross-origin будут либо загружены без учетных данных, либо должны будут иметь заголовок CORP.

Ошибка отслеживания #333029146 | Запись ChromeStatus.com | Спецификация

Ed25519 в веб-криптографии

Эта функция добавляет поддержку алгоритмов Curve25519 в API веб-криптографии, а именно алгоритма подписи Ed25519

Ошибка отслеживания #1370697 | Запись ChromeStatus.com | Спецификация

Предотвращение отслеживания HSTS

Снижает вероятность отслеживания пользователей третьими лицами с помощью кэша HSTS.

Эта функция позволяет использовать обновления HSTS только для навигации верхнего уровня и блокирует обновления HSTS для запросов подресурсов. Это делает невозможным использование кэша HSTS сторонними сайтами для отслеживания пользователей в Интернете.

Ошибка отслеживания #40725781 | Запись ChromeStatus.com

Веб-сборка

Интеграция обещаний JavaScript

JavaScript Promise Integration (JSPI) — это API, который позволяет приложениям WebAssembly интегрироваться с JavaScript Promise.

Он позволяет программе WebAssembly выступать в качестве генератора Promise и позволяет программе WebAssembly взаимодействовать с API, содержащими Promise.

В частности, когда приложение использует JSPI для вызова API, содержащего Promise (JavaScript), код WebAssembly приостанавливается, а исходному вызывающему объекту программы WebAssembly дается Promise, который будет выполнен, когда программа WebAssembly окончательно завершится.

Запись ChromeStatus.com | Спецификация

Подсказки по ветвлению WebAssembly

Улучшает производительность скомпилированного кода WebAssembly, информируя движок о том, что конкретная инструкция ветвления с большой вероятностью пойдет по определенному пути.

Это позволяет движку принимать более обоснованные решения относительно компоновки кода (улучшая попадание в кэш инструкций) и распределения регистров.

Запись ChromeStatus.com | Спецификация

Веб-GPU

GPUTextureView для привязки externalTexture

GPUTextureView теперь можно использовать для привязки externalTexture при создании GPUBindGroup .

Ошибка отслеживания #398752857 | Запись ChromeStatus.com | Спецификация

перегрузка copyBufferToBuffer

Метод GPUCommandEncoder copyBufferToBuffer() теперь включает более простой способ копирования целых буферов с использованием новой перегрузки с дополнительными параметрами смещения и размера.

Запись ChromeStatus.com | Спецификация

Предприятие

Регистрация и отчетность по IP-адресам

Chrome Enterprise расширяет возможности мониторинга безопасности и реагирования на инциденты, собирая и сообщая локальные и удаленные IP-адреса и отправляя эти IP-адреса в журналы расследований безопасности (SIT). Кроме того, Chrome Enterprise позволит администраторам опционально отправлять IP-адреса основным и сторонним поставщикам SIEM через коннектор Chrome Enterprise Reporting.

Эта возможность доступна для клиентов Chrome Enterprise Core.

Запись ChromeStatus.com

Испытания происхождения

Атрибут блокировки рендеринга с полной частотой кадров

Добавляет новый токен блокировки рендеринга full-frame-rate к блокирующим атрибутам. Когда рендерер заблокирован токеном full-frame-rate , рендерер будет работать с более низкой частотой кадров, чтобы зарезервировать больше ресурсов для загрузки.

Ошибка отслеживания #397832388 | Запись ChromeStatus.com

Приостановить воспроизведение мультимедиа на неотрисованных фреймах

Добавляет политику разрешений media-playback-while-not-rendered чтобы разрешить веб-сайтам-встраивателям приостанавливать воспроизведение мультимедиа встроенных iframe, которые не визуализируются, то есть, чтобы их свойство display было установлено на none . Это должно позволить разработчикам создавать более удобные для пользователя интерфейсы, а также повысить производительность, позволяя браузеру обрабатывать воспроизведение контента, который не виден пользователям.

Пробная версия Origin | Отслеживание ошибки № 351354996 | Запись ChromeStatus.com

API переписывателя

API Rewriter преобразует и перефразирует входной текст запрошенными способами, подкрепленными языковой моделью искусственного интеллекта на устройстве. Разработчики могут использовать этот API для удаления избыточности в тексте, чтобы вписаться в ограничение по количеству слов, перефразировать сообщения в соответствии с целевой аудиторией или быть более конструктивными, если обнаружено, что сообщение использует токсичный язык, перефразировать пост или статью, чтобы использовать более простые слова и концепции и многое другое.

Пробная версия Origin | Отслеживание ошибки № 358214322 | Запись на ChromeStatus.com | Спецификация

API-интерфейс писателя

API Writer можно использовать для написания нового материала, получив подсказку о задании на написание, подкрепленную языковой моделью искусственного интеллекта на устройстве. Разработчики смогут использовать этот API для создания текстовых объяснений структурированных данных, составления поста о продукте на основе отзывов или описания продукта, расширения списков «за» и «против» до полных представлений и многого другого.

Пробная версия Origin | Отслеживание ошибки #357967382 | Запись ChromeStatus.com | Спецификация